/*
===========================================================================

  Copyright (c) 2010-2014 Darkstar Dev Teams

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see http://www.gnu.org/licenses/

  This file is part of DarkStar-server source code.

===========================================================================
*/

#include "jailutils.h"

#include "../entities/charentity.h"
#include "../conquest_system.h"

#include "../ai/ai_char_normal.h"
#include "../ai/ai_char_prisoner.h"

/************************************************************************
*                                                                       *
*                                                                       *
*                                                                       *
************************************************************************/

namespace jailutils
{
    /************************************************************************
    *                                                                       *
    *                                                                       *
    *                                                                       *
    ************************************************************************/

    bool InPrison(CCharEntity* PChar)
    {
        if(!(PChar->nameflags.flags & FLAG_GM) && PChar->getZone() == ZONE_MORDION_GAOL)
        {
            return true;
        }
        return false;
    }

    /************************************************************************
    *                                                                       *
    *                                                                       *
    *                                                                       *
    ************************************************************************/

    void Add(CCharEntity* PChar)
    {
        delete PChar->PBattleAI;
        PChar->PBattleAI = new CAICharPrisoner(PChar);

        // TODO:
    }

    /************************************************************************
    *                                                                       *
    *                                                                       *
    *                                                                       *
    ************************************************************************/

    void Del(CCharEntity* PChar)
    {
        delete PChar->PBattleAI;
        PChar->PBattleAI = new CAICharNormal(PChar);

        // TODO:
    }
};
